The present application is related generally to the field of memory and, more particularly, apparatuses and methods for reading and programming data in memory having non-stable reference points.
Non-volatile memory (NVM) is electronic data storage that does not rely on a constant power source to maintain the storage of the data. NVM can be used in memory products such as USB flash drives, SD or microSD cards, MMC or others. NVM can utilize many different technologies including flash memory and magneto-resistive memory (MMR) which can commonly be referred to as magnetoresistive random access memory (MRAM).
Flash memory has cells which can be used as single level cells (SLC) or multi-level cells (MLC). In operation as a SLC, each cell will typically be in either an erased state or a programmed state, with each of those states corresponding to a different charge state. In operation as a MLC, each cell can be in an erased state, or one of multiple different programmed states, where each of the programmed states corresponds to a different charge state. Charging the cells to represent data can be referred to as programming the cells. Each of the different charge states in both the SLC and MLC, typically including the erase state, represent different data values.
In flash memory, there are typically multiple cells arranged to be programmed together which make up a page of cells and multiple pages of cells that are arranged to be erased together which make up a block of cells. Cells in flash memory are typically programmed in pages of cells and are erased in blocks of cells because of the architecture of the cells or how the cells are electrically connected. The cells in flash memory typically have approximately the same charge when erased and approximately the same charge when programmed to represent a specific data value. These charge levels can be considered to be reference points and in flash memory, since these reference points do not significantly vary from one cell to another, they can be considered to be stable reference points. Since flash memory has stable reference points, the range of available charges for all of the cells in the system is fairly well established and can be used to full advantage.
In contrast to flash other memory, including RRAM, ReRAM, and MRAM includes cells that utilize resistance in the cell to represent data. Cells can be read by determining the resistance to current flow through the cell. Read operations may involve using an analog-to-digital (A/D) converter to convert analog signals used in finding the resistance into digital signals used for representing the data. These memories can be useful over flash memory in that they are generally faster in operation and have less degradation over time.
These memories can be sensitive to how the cells are constructed. Small changes in the physical structure from one cell to the next can produce significant variances in operating characteristics between the cells. One such operating variance that has been particularly troublesome for the operation is the variation in the available range of resistances between different cells. This variation in the range of resistances can be described as non-stable reference points, since minimum resistance values, maximum resistance values and the magnitude of the available range of resistances (i.e., the difference between the minimum and maximum resistance values) can vary from one cell to the next.
One conventional method used for reading and writing (also called programming) to cells in these memories is to find a set value of resistance that falls within the different ranges of several of the cells and to define a datum value for all resistances below that set value and to define a different datum value for all resistances above that set value. Applicant recognizes that this method fails to take full advantage of the wide variety of values that can be stored in the memory cells instead utilizing the cells for only storing one of two different values at a time. Conventional efforts to use these memories cells for multiple value storage have focused on manufacturing the cells to higher standards to reduce variations between cells. However, since a few misplaced atoms during fabrication of the cell can cause variations in the performance of the cell, these efforts have not been entirely satisfactory.
The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings.